声明

本文是学习GB-T 33479-2016 党政机关电子公文交换接口规范. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们

1 范围

本标准规定了电子公文交换系统之间以及交换系统与电子公文处理系统间进行数据交换时采用的

报文数据格式和接口。

本标准适用于电子公文系统的数据交换。

2 规范性引用文件

下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文

件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。

GM/T 0006 密码应用标识规范

3 缩略语

下列缩略语适用于本文件。

UUID: 通用唯一标识符( Universally Unique Identifier)

4 系统结构

第5章定义了交换系统应用于电子公文时使用的业务类型结构。

第6章定义了交换系统之间、交换系统与处理系统之间使用的数据格式。

第7章定义了交换系统之间、交换系统与处理系统之间调用的接口形式。

上述数据格式和接口关系见图1。

公文传输信封

公文传输信封

style="width:9.95347in;height:4.58056in" />

1 电子公文交换接口与数据格式

GB/T 33479—2016

5 公文交换业务

5.1 概述

交换系统通过报文内容的交换完成任意电子文件数据的传输或者相关消息的传递。按照不同用
途,报文内容分为系统报文和业务报文。系统报文用于各种计算机状态消息的传递,业务报文则用于文

件数据的传输和业务状态消息的传递。

当用于传输公文时,业务报文内容既可以是公文文件,也可能仅是简短的业务状态消息。在本标准

中,这两种报文内容节点分别使用"公文类型"或"公文短报文类型"进行限定。

5.2 公文类型

当业务报文中“类型”取值为"OFC"
时,6.1.5中"内容"节点按照"公文类型"进行解析,公文类型的

结构见图2。

style="width:4.64722in;height:4.64722in" />style="width:4.64722in;height:4.64722in" />

2 公文类型结构

公文类型的元素说明见表1。

1 公文类型元素说明

名称

类型

说明

备注

密级

xs:string

待交换公文的元数据,文件的秘密等级

可选

紧急程度

xs:string

待交换公文的元数据,送达和办理的时限要求

可选

发文机关

xs:string

待交换公文的元数据,文件的发文机关

可选

收文机关

xs:string

待交换公文的元数据,文件的收文机关

可选

公文标题

xs:string

待交换公文的元数据,公文标题。文件密级为"绝密"时,应置

为空

可选

公文内容

xs:base64Binary

电子公文二进制内容的base64编码

必选

扩展属性

xs:anyType

为自主扩展预留

可选

GB/T 33479—2016

5.3 公文短报文类型

当业务报文中"类型"取值为"RET"
时,6.1.5中"内容"节点按照"公文短报文类型"进行解析,公文

短报文类型的结构见图3。

style="width:5.50694in;height:2.63333in" />

3 公文短报文类型结构

公文短报文类型的元素说明见表2。

2 公文短报文类型元素说明

名称

类型

说明

备注

原报文标识

xs:string

本报文针对的报文的标识

必选

业务类型

xs:string

本报文的业务报文类型,可取值见表3

必选

时间

xs:string

本报文的组装时间

必选

意见

xs:string

本报文的意见内容

可选

公文短报文业务类型的取值及其说明见表3。

3 公文短报文类型的取值说明

取值

说明

Received

送达

Accepted

签收

Rejected

拒收

6 数据格式

6.1 公共数据类型

6.1.1 简单类型说明

报文属性类型的取值及其说明见表4。

4 报文属性类型的取值说明

取值

说明

SYS

系统报文

BIZ

业务报文

GB/T 33479—2016

报文内容类型的取值及其说明见表5。

5 报文内容类型的取值说明

名称

说明

OFC

表明出现的内容节点按照"公文类型"进行解析

RET

表明出现的内容节点按照"公文短报文类型"进行解析

注:报文内容类型是一个可扩展项,在本标准中仅针对公文进行了扩展。

6.1.2 收发机构类型

收发机构类型结构见图4。

style="width:5.02003in;height:1.98in" />收发机构类型

身份标识

身份名称

身份描述

4 收发机构类型结构

收发机构类型的元素说明见表6。

6 收发机构类型元素说明

名称

类型

说明

备注

身份标识

xs:string

机构或者地址在系统中的唯一标识

必选

身份名称

xs:string

机构或者地址在系统中的名称

必选

身份描述

xs:string

机构或者地址的其他补充描述

可选

6.1.3 密码算法类型

密码算法类型结构见图5。

style="width:5.00666in;height:1.32682in" />密码算法类型

5

密码算法类型元素说明见表7。

签名算法

加密算法

密码算法类型结构

GB/T 33479—2016

7 密码算法类型元素说明

名称

类型

说明

备注

签名算法

xs:string

签名所采用的签名算法,当需要对信封进行签名时出现

该节点

可选

加密算法

xs:string

加密所采用的加密算法,当需要对报文内容加密时出现

该节点,仅适用于业务报文

可选

商密的摘要和签名算法遵照GM/T 0006,其他密级的算法遵照相应规范。

6.1.4 系统报文类型

系统报文类型结构见图6。

style="width:5.22708in;height:2.64028in" />style="width:0.16662in;height:0.13992in" />style="width:0.17999in;height:0.14652in" />

6 系统报文类型结构

系统报文类型的元素说明见表8。

8 系统报文类型元素说明

名称

类型

说明

备注

原报文标识

xs:string

该报文针对的报文的标识

必选

类型

xs:string

报文消息类型

必选

时间

xs:string

报文消息的时间

必选

备注

xs:string

报文消息的内容

可选

6.1.5 业务报文类型

业务报文类型的结构见图7。

GB/T 33479—2016

style="width:7.71988in;height:4.64002in" />业务报文类型

类型

内容

附件

0..

附件名称

扩展名

附件标识

附件大小

附件内容

7 业务报文类型结构

业务报文类型的元素说明见表9。

9 业务报文类型元素说明

名称

类型

说 明

备注

类型

报文内容类型

报文内容的类型,确定其后出现的内容节点按何种类型

进行扩展解释,见表5

必选

内容

xs:string

报文内容,依据类型声明按照不同结构进行分析,见5.2

和5.3

必选

附件

与内容相关的附件

可选

—— 附件名称

xs:string

附件的名称

必选

——扩展名

xs:string

附件的扩展名

可选

— 附件标识

xs:string

附件的标识,由具体的应用确定,应保证唯一性,例如报

文标识加编号

可选

—— 附件大小

xs;unsignedInt

附件的文件大小,单位为字节

可选

—— 附件内容

xs:base64Binary

附件文件二进制流的base64编码

必选

6.2 报文传输信封

6.2.1 报文传输信封组成

交换系统之间传输的数据文件称为报文传输信封,该文件为 XML,
报文信封模型见附录 A。 根节

点"报文传输信封"的结构见图8。

style="width:5.3in;height:3.38056in" />

8 报文传输信封结构

报文传输信封的属性与元素说明见表10。

表10 报文传输信封属性与元素说明

GB/T 33479—2016

名称

类型

说明

备注

版本

xs:string

用于协议互通的版本号,固定为1.0

必选

报文头

报文传输的头部结构

必选

报文体

报文传输的主体部分结构,用于封装报文内容和附件

必选

签名

需要对报文内容作签名保护时,记录针对整个报文信封

的签名值和相关信息

可选

6.2.2 报文头

报文头结构见图9。

style="width:4.77361in;height:5.64653in" />style="width:4.77361in;height:5.64653in" />

9 报文头结构

报文头的元素说明见表11。

GB/T 33479—2016

表11 报文头元素说明

名称

类型

说 明

备注

报文标识

xs:string

报文传输中的唯一标识信息

必选

报文属性

报文属性类型

报文的属性,区分报文体中是系统报文还是业务报文,

见 表 5

必选

报文发送方

收发机构类型

报文发送方相关信息,见表6

必选

报文接收方

收发机构类型

报文接收方相关信息,见表6

必选

发出时间

xs:dateTime

报文发出的时间

必选

密码算法

密码算法类型

保护报文内容使用的算法等信息,此节点不存在时不做 任何保护;出现时应用密码保护,可以是加密和签名的

组合应用,见表7

可选

报文备注

xs:string

报文的备注信息

可选

传输票据

xs:string

表示后续公文传输关系的信任凭证

可选

6.2.3 报文体

报文体结构见图10。

style="width:4.50005in;height:1.98in" />系统报文

报文体 日 明文报文

密文报文

图10 报文体结构

报文体的元素说明见表12。

表12 报文体元素说明

名称

类型

说 明

备注

系统报文

系统报文类型

系统短报文内容,报文头中报文属性取值为SYS时应出

现此节点

必选

明文报文

业务报文类型

待传输的报文内容,见6.1.5;报文头中报文属性取值为

BIZ且密码算法中不出现加密选项时出现

必选

密文报文

xs:base64Binary

待传输的经加密的报文内容,是"明文报文"节点内容的 密码运算结果;报文头中报文属性取值为BIZ且密码算

法中出现加密选项时出现

必选

6.2.4 签名

签名的结构见图11。

GB/T 33479—2016

style="width:4.24722in;height:2.03333in" />style="width:0.24009in;height:0.2266in" />

图11 签名类型结构

签名类型的元素说明见表13。

表13 签名类型元素说明

名称

类型

说明

备注

签名者

xs:string

执行签名的机构或服务

可选

签名时间

xs:dateTime

签名的时间

可选

签名值

xs:base64Binary

对报文传输信封整个文件(本节点内容置空)的二进制

内容计算所得的数字签名值;签名和验证签名时,应将

本节点内容置空后再进行相关运算

必选

6.3 公文传输信封

交换系统与处理系统之间传输的数据文件称为公文传输信封,该文件以 XML
形式描述,其根节点

"公文传输信封"的结构见图12。

style="width:8.30694in;height:4.48681in" />

图12 公文传输信封结构

公文传输信封元素说明见表14。

GB/T 33479—2016

表14 公文传输信封元素说明

名称

类型

说明

备注

Version

xs:string

用于协议互通的版本号,固定为1.0

必选

封装实体

被传输实体,可出现多次

必选

—报文标识

xs:string

报文传输中的唯一标识信息

必选

——发文机关

收发机构类型

报文发送方相关信息,见表6

必选

——收文机关

收发机构类型

报文接收方相关信息,见表6

必选

—— 明文报文

业务报文类型

传递的报文内容,见6.1.5

必选

7 接口

7.1 总体要求

电子公文交换系统与处理系统以及不同的交换系统之间以报文形式进行数据交换,交换系统和处

理系统以 WebService 方式提供对外接口。

7.2 交换系统间的接口

7.2.1 受信代码要求

交换系统之间进行报文传输之前应先建立受信代码。受信代码由系统随机产生、双方认可且不重

复的字符串组成,用于确认双方身份。受信代码要求如下:

a) 受信代码为32位的 UUID;

b)
交换系统之间进行报文传输应带有受信代码信息,否则被请求方应拒绝接收;

c)
受信代码建立后在有效期内可多次使用;有效时间由双方协商确定,双方均可强行终止;

d) 受信代码建立后在有效期内不再重复请求受信代码;

e) 交换系统应维护受信代码、及时销毁已经超时的受信代码。

注:双方受信代码不一致的情况有可能发生,如一方系统故障或一方主动销毁。

7.2.2 建立受信代码

功能说明:

请求受信代码。

接口原型:

string reqWebService(string unitId,string linkCode,string
seconds,string reqType)

参数说明(4个参数):

参数1:unitId 请求建立受信代码的单位标识;

参数2:linkCode
预设握手字符串,由发送方生成的一串随机字符组成。此字符串用于确认

被请求方返回的信息是否是针对本次请求;

参数3:seconds 表示超时时间,即受信代码的有效时间,单位秒;

参数4:reqType 代表请求类型,枚举值,可取值为:BGN 请求建立受信代码;END
请求强制

终止受信代码。

返回值说明:

GB/T 33479—2016

\<result
〉\<unitId>.\</unitld>\<linkCode)..\</linkCode>\<transCode>..\</transCode>\</result)

其中,unitld
为被请求方的单位标识,linkCode为请求方生成的握手信号,transCode 为受信

代码。

若该接口返回值为refuse(拒绝连接),则请求方应终止后继操作。

7.2.3 传输报文

功能说明:

请求传输报文。

接口原型:

string sendBaseXMLEsbWebService(string transCode,string message)

参数说明(2个参数):

参数1:transCode 受信代码;

参数2:message 报文,其格式应遵照6.2的要求。

返回值说明:

0表示报文接收成功;

1表示被请求方不认可作为参数的受信代码。则请求方应按照7.2.2请求得到新的受信代码

后再传输报文。

其他非0值表示错误代码。

7.3 处理系统与交换系统间接口

7.3.1 交换系统接收报文

功能说明:

交换系统接收处理系统发送的报文,与交换系统之间的传输报文的接口名称一致,但不需要受

信代码作为参数。

接口原型:

string sendBaseXMLEsbWebService(string message)

参数说明(1个参数):

参数1:message 传输报文,格式应遵照6.3的要求。

返回值说明:

success 表示报文接收成功,否则报文接收失败。

7.3.2 处理系统接收报文

处理系统接收交换系统发送的报文采用注册机制,交换系统调用注册的处理系统接口完成报文

传输。

GB/T 33479—2016

A

(规范性附录)

电子公文交换相关报文信封的 XML 模型

电子公文交换相关报文信封的 XML 模型如下:

〈? xml version="1.0"encoding="UTF-8"?>

\<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="quali-

fied" attributeFormDefault="unqualified">

\<!--交换系统之间的报文协议->

\<xs:simpleType name="报文属性类型"〉

\<xs:restriction base="xs:string">

〈xs:enumeration value="SYS">

\<xs:annotation>

\<xs:documentation〉系统报文\</xs:documentation〉

\</xs:annotation〉

\</xs:enumeration>

\<xs:enumeration value="BIZ">

\<xs:annotation〉

\<xs:documentation)业务报文\</xs:documentation〉

\</xs:annotation〉

\</xs:enumeration〉

\</xs:restriction〉

〈/xs:simpleType>

(xs:simpleType name="报文内容类型">

(xs:restriction base="xs:string"〉

\<xs:enumeration value="OFC">

\<xs:annotation〉

\<xs:documentation〉公文\</xs:documentation〉

\</xs:annotation)

\</xs:enumeration)

〈xs:enumeration value="RET">

\<xs:annotation〉

\<xs:documentation>公文短报文\

〈xs:complexType name="收发机构类型">

(xs:sequence)

\<xs:element name="身份标识" type="xs:string"/>

〈xs:element name="身份名称" type="xs:string"/>

\<xs:element name="身份描述" type="xs:string" minOccurs="0"/>

GB/T 33479—2016

\

〈xs:complexType name="密码算法类型"〉

\<xs:sequence)

\<xs:element name="签名算法" type="xs:string" minOccurs="0"/>

\<xs:element name="加密算法" type="xs:string" minOccurs="0"/>

\</xs:sequence>

\</xs:complextype>

〈xs:complexType name="业务报文类型"〉

\<xs:sequence)

\<xs:element name="类型" type=" 报文内容类型"/>

〈xs:element name="内容" type="xs:anyType"/>

\<xs:element name="附件" minOccurs="0"maxOccurs="unbounded">

〈xs:complexType)

〈xs:sequence)

\<xs:element name="附件名称" type="xs:string"/>

\<xs:element name="扩展名" type="xs:string" minOccurs="0"/>

\<xs:element name="附件标识" type="xs:string" minOccurs=

"0"/>

\<xs:element name="附件大小" type="xs;unsignedInt"minOccurs=

"0"/>

\<xs:element name="附件内容" type="xs:base64Binary"/>

\

\</xs:sequence>

〈/xs:complexType)

\<xs:complexType name="系统报文类型"〉

\<xs:sequence)

(xs:element name="原报文标识" type="xs:string"/>

〈xs:element name="类型" type="xs:string"/>

\<xs:element name="时间" type="xs:dateTime"/>

〈xs:element name="备注" type="xs:string" minOccurs="0"/>

\</xs:sequence>

〈/xs:complexType〉

〈xs:element name="报文传输信封"〉

\<xs:complexType>

\<xs:sequence)

〈xs:element ref="报文头"/>

〈xs:element ref="报文体"/>

\<xs:element ref="签名" minOccurs="0"/>

\</xs:sequence>

〈xs:attribute name="Version" type="xs:string" use="required"
fixed="1.0"/>

GB/T 33479—2016

\

(xs:complexType)

〈xs:sequence)

\<xs:element \<xs:element

\<xs:element

name="报文标识" type="xs:string"/>

name="报文属性" type=" 报文属性类型"/>

name="报文发送方" type=" 收发机构类型"/)

\<xs;element name="报文接收方" type=" 收发机构类型" maxOccurs=

"unbounded"/>

〈xs;element \<xs:element \<xs:element

\<xs:element

\</xs:sequence \</xs;complexType)

name="发出时间" type="xs:dateTime"/)

name="密码算法" type=" 密码算法类型" minOccurs="0"/>

name="报文备注" type="xs:string" minOccurs="O"/)

name="传输票据" type="xs:string" minOccurs="0"/>

\

\<xs:complexType)

〈xs;choice)

〈xs:element 〈xs:element

〈xs:element

(/xs:choice)

\</xs:complexType)

name="系统报文" type=" 系统报文类型"/>

name="明文报文" type=" 业务报文类型"/>

name="密文报文" type="xs;base64Binary"/>

\

〈xs:complexType

xs:sequence)

\<xs:element 〈xs:element

(xs:element

(/xs:sequence)

\</xs:complexType)

name="签名者" type="xs:string" minOccurs="O"/>

name="签名时间" type="xs:dateTime" minOccurs="0"/>

name="签名值" type="xs:base64Binary"/>

\

(xs:complexType name="公文类型">

〈xs:sequence)

(xs:element

name="密级" type="xs:string" minOccurs="0"/>

(xs:element

name="紧急程度" type="xs:string" minOccurs="0"/>

(xs:element

name="发文机关" type="xs:string" minOccurs="0"/>

(xs:element

name="收文机关" type="xs:string" minOccurs="O"/>

(xs:element

name="公文标题" type="xs:string" minOccurs="0"/>

GB/T 33479—2016

\<xs:element name="公文内容" type="xs:base64Binary"/>

\<xs:element name="扩展属性" type="xs:anyType" minOccurs="0"/>

\</xs:sequence>

\</xs:complextype>

〈xs:simpleType name="短报文业务类型"〉

\<xs:restriction base="xs:string">

\<xs:enumeration value="Received">

\<xs:annotation〉

\<xs:documentation>送达\

\<xs:annotation>

\<xs:documentation〉签收\</xs:documentation>

\

\<xs;annotation〉

\<xs:documentation>拒收\

\<xs:complexType name="公文短报文类型"〉

\<xs:sequence〉

\<xs:element name="原报文标识" type="xs:string"/>

\<xs:element name="业务类型" type=" 短报文业务类型"/>

(xs:element name="时间" type="xs:dateTime"/>

\<xs:element name="意见" type="xs:string" minOccurs="O"/>

\</xs:sequence>

\

\<xs:complexType)

\<xs:sequence〉

\<xs:element \<xs:element \<xs:element

curs="unbounded"/>

\<xs:element

\</xs:sequence)

name="报文标识" type="xs:string"/>

name="发文机关" type=" 收发机构类型"/>

name="收文机关" type=" 收发机构类型" maxOc-

name="明文报文" type=" 业务报文类型"/>

GB/T 33479—2016

\</xs:complextype>

\</xs:element>

\

\</xs:complexType)

\</xs:element〉

\</xs:schema〉

延伸阅读

更多内容 可以 GB-T 33479-2016 党政机关电子公文交换接口规范. 进一步学习

联系我们

T-JSJTQX 43—2023 公路路面免振压水泥稳定碎石基层 施工技术指南.pdf